import 'dart:convert';
/// code : 0
/// data : {"gtChallenge":"","gtSeccode":"","gtValidate":"","gtUserId":"","requestId":"","captchaCode":""}
/// msg : ""
/// serverTime : ""

GeekVerifyData geekVerifyDataFromJson(String str) => GeekVerifyData.fromJson(json.decode(str));
String geekVerifyDataToJson(GeekVerifyData data) => json.encode(data.toJson());
class GeekVerifyData {
  GeekVerifyData({
      int? code, 
      Data? data, 
      String? msg, 
      String? serverTime,}){
    _code = code;
    _data = data;
    _msg = msg;
    _serverTime = serverTime;
}

  GeekVerifyData.fromJson(dynamic json) {
    _code = json['code'];
    _data = json['data'] != null ? Data.fromJson(json['data']) : null;
    _msg = json['msg'];
    _serverTime = json['serverTime'];
  }
  int? _code;
  Data? _data;
  String? _msg;
  String? _serverTime;
GeekVerifyData copyWith({  int? code,
  Data? data,
  String? msg,
  String? serverTime,
}) => GeekVerifyData(  code: code ?? _code,
  data: data ?? _data,
  msg: msg ?? _msg,
  serverTime: serverTime ?? _serverTime,
);
  int? get code => _code;
  Data? get data => _data;
  String? get msg => _msg;
  String? get serverTime => _serverTime;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['code'] = _code;
    if (_data != null) {
      map['data'] = _data?.toJson();
    }
    map['msg'] = _msg;
    map['serverTime'] = _serverTime;
    return map;
  }

}

/// gtChallenge : "" 流水号，一次完整验证流程的唯一标识
/// gtSeccode : "" 待校验的核心数据，geetest_validate加上|jordan组成的字符串
/// gtValidate : "" 待校验的核心数据
/// gtUserId : "" 获取极验返回的userId
/// requestId : "" 请求id 用来标识某一次请求 串联起注册与验证 两个环节
/// captchaCode : "" 图形验证码 宕机模式下使用

Data dataFromJson(String str) => Data.fromJson(json.decode(str));
String dataToJson(Data data) => json.encode(data.toJson());
class Data {
  Data({
      String? gtChallenge, 
      String? gtSeccode, 
      String? gtValidate, 
      String? gtUserId, 
      String? requestId, 
      String? captchaCode,}){
    _gtChallenge = gtChallenge;
    _gtSeccode = gtSeccode;
    _gtValidate = gtValidate;
    _gtUserId = gtUserId;
    _requestId = requestId;
    _captchaCode = captchaCode;
}

  Data.fromJson(dynamic json) {
    _gtChallenge = json['gtChallenge'];
    _gtSeccode = json['gtSeccode'];
    _gtValidate = json['gtValidate'];
    _gtUserId = json['gtUserId'];
    _requestId = json['requestId'];
    _captchaCode = json['captchaCode'];
  }
  String? _gtChallenge;
  String? _gtSeccode;
  String? _gtValidate;
  String? _gtUserId;
  String? _requestId;
  String? _captchaCode;
Data copyWith({  String? gtChallenge,
  String? gtSeccode,
  String? gtValidate,
  String? gtUserId,
  String? requestId,
  String? captchaCode,
}) => Data(  gtChallenge: gtChallenge ?? _gtChallenge,
  gtSeccode: gtSeccode ?? _gtSeccode,
  gtValidate: gtValidate ?? _gtValidate,
  gtUserId: gtUserId ?? _gtUserId,
  requestId: requestId ?? _requestId,
  captchaCode: captchaCode ?? _captchaCode,
);
  String? get gtChallenge => _gtChallenge;
  String? get gtSeccode => _gtSeccode;
  String? get gtValidate => _gtValidate;
  String? get gtUserId => _gtUserId;
  String? get requestId => _requestId;
  String? get captchaCode => _captchaCode;

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['gtChallenge'] = _gtChallenge;
    map['gtSeccode'] = _gtSeccode;
    map['gtValidate'] = _gtValidate;
    map['gtUserId'] = _gtUserId;
    map['requestId'] = _requestId;
    map['captchaCode'] = _captchaCode;
    return map;
  }

}